home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Fritz: All Fritz
/
All Fritz.zip
/
All Fritz
/
FILES
/
UTILREEN
/
SIMCGA.LZH
/
HGCIBM.DOC
< prev
next >
Wrap
Text File
|
1987-05-22
|
44KB
|
1,223 lines
HGCIBM.COM Version 2.01
Copyright (C) Athena Digital, Gary Batson 1986, 1987
145 Green Hills Rd. - Athens, Ga. 30605 - (404) 354-4522
This manual dated April 20,1987
1
CONTENTS
HGCIBM.COM
Acknowledgements ............................................. 3
Trademarks ................................................... 3
Using HGCIBM.COM ............................................. 3
Precautions .................................................. 3
Installation ................................................. 4
Using the Command Line ....................................... 5
HGCTEST program .............................................. 5
Sales and Distribution Policies .............................. 6
User Comments ................................................ 6
History ...................................................... 6
Future ....................................................... 7
Changes and Corrections ...................................... 7
Technicalities ............................................... 8
Extended Functions ........................................... 8
ATHENA.SYS
Purpose ...................................................... 11
Features ..................................................... 11
Control Program .............................................. 12
Sales and Distribution Policies .............................. 12
Upgrades ..................................................... 13
Software Author Note ......................................... 13
Extended Functions ........................................... 14
Library Versions ............................................. 18
QBDEMOC program .............................................. 18
This program is distributed as Shareware. All rights are
reserved except for distribution of the program and its
documentation IN ITS ENTIRETY and un-modified. You may test and
use this program for 30 days, after which you must register it,
destroy it, or pass in along to a friend. If you would like to
keep HGCIBM, see the pricing below. This DOES NOT APPLY to those
who contributed to HGCIBM Version 1.11. Those individuals are
welcome to this upgrade without further remuneration. Please
accept it with my THANKS!!
Athena Digital
145 Green Hills Rd. - Athens, Ga. - (404) - 354 - 4522
2
ACKNOWLEDGEMENTS
Athena Digital would like to thank IBM for creating the
Personal Computer and Hercules Computer Technology for making PC
graphics as pleasurable as PC TTL text.
I would also like to thank my wife for putting up with my
pre-occupation all these years, and one Scott Schultz for his
proding and enthusiasm without which the first simple emulator
would probably never have been uploaded.
TRADEMARKS MENTIONED
Hercules Graphics Card is a trademark of Hercules Computer
Technology
IBM is a trademark of International Business Machines
Microsoft Mouse and Quickbasic are trademarks of Microsoft
Corporation
ATHENA.SYS is a trademark of Athena Digital
USING HGCIBM.COM
The purpose of this program is to provide owners of Hercules
Graphics Cards* a means to run software written for the IBM*
Color Graphics Adapter, and to introduce a commercial version of
the Athena Digital emulator called ATHENA.SYS (T) which offers
added functionality.
PRECAUTIONS
MONOCHROME DISPLAY DAMAGE !!!
This program will not damage your display, but certain
application software certainly can. Programs which attempt to by-
pass the BIOS (Basic Input/Output System) to set the CRT
operating parameters will cause severe problems. Fortunately
since most software operates in standard modes, most software
vendors permit BIOS to set up the controller for them even if
they later write to screen ram directly. HGCIBM will intercept
the BIOS calls for all standard modes and program the controller
correctly. Writing directly to screen ram is permitted and the
emulator will still work properly. When trying an un-tested (with
HGCIBM) program for the first time, watch your display carefully
for signs of gross distortion or shrinking when the program sets
graphics mode. IF THIS OCCURS, RE-BOOT OR TURN OFF YOUR COMPUTER
IMMEDIATELY. The display should return to normal quickly when you
re-boot.
3
INSTALLATION
To install the emulator, you must tell it what mode to start
out in, and a little information about your hardware. There are
three "modes" of operation for HGCIBM as follows:
The /E[mulate] mode enables the emulator to respond to bios
calls to set standard CGA modes and provides maximum
compatibility with programs expecting to use the Color Graphics
Adapter, but displays the information on your Hercules adapter.
When the emulator is in this mode, the text buffer is at segment
B800 and the equipment flag is set to indicate that a CGA card is
present. Alas, you can't fool all the programs all the time. Some
of them read the equipment flag and then try to manipulate the
crt controller directly in order to provide faster screen output.
Naturally they try to do this at the CGA port addresses (which
don't exist) and will hang the system (ATHENA.SYS provides
algorithms to circumvent these hang-ups). A re-boot will cure the
problem and you should then remember to either un-install the
emulator before running these programs or simply place it in
/M(ono) mode or /C[GA] mode (if you have a physical CGA) as
described below.
The /M[ono] mode effectively disables HGCIBM without
uninstalling it. The monochrome card is selected and Video BIOS
control returns to the computer's ROM (Read only Memory).
The /C[ga] mode also disables HGCIBM and returns control to
ROM except the physical Color Graphics Adapter is selected if it
exists.
There are also 3 installation switches available to warn
HGCIBM about special hardware. During initialization, the program
tries to determine if a Color Graphics Adapter is present. If it
is, the program will not install unless you assure it that the
Color Graphics Adapter in your system is compatible with Hercules
Graphics cards. If yours is or you have a Leading Edge computer,
then you should use these switches:
The /H[ercules compatible] switch instructs HGCIBM to
install and allow the emulation mode even though a Color Graphics
Adapter is present. You may use this switch on installation if
you have a Hercules compatible CGA card in your system. If a CGA
card is present, HGCIBM will abort installation unless the /H
switch is used. Also note that some software will output to the
CGA registers (3D4, 3D5, 3D8, etc.) to adjust video parameters.
This can wreak havoc on the real CGA adapter while in Emulation
mode. If the CGA is not physically present, this output causes no
problems and is ignored by Hercules adapters.
The /L[eading Edge] switch instructs HGCIBM to install if
the Leading Edge Model D is connected to a TTL display.
4
The /U[n-install] switch instructs the emulator to reset all
vectors and remove itself from memory, freeing the space for
other programs. You may un-install the emulator provided that
other programs have not altered vectors 8h and 10h, but memory
may become segmented if you have loaded another resident program
after HGCIBM. The system will be left in the same condition it
was in before the installation. (i.e. monochrome display).
USING THE COMMAND LINE
Simply type the command HGCIBM with a mode switch to install
or change to that mode. If you have special hardware, ADD the
hardware switch to the mode switch on the same command line as
shown in the following examples:
HGCIBM /M - installs in (or changes to) MONO mode (emulation
disabled)
HGCIBM /C - installs in (or changes to) CGA mode (emulation
disabled)
HGCIBM /E - installs in (or changes to) Emulation mode.
HGCIBM /U - un-installs the emulator
HGCIBM /M/H - informs HGCIBM that a Hercules compatible CGA is
physically present.
HGCIBM /M/L - informs HGCIBM that you have a Leading Edge
computer.
These commands may be issued from a batch file if desired.
Hardware switches are needed only on installation.
To change modes after installation, just enter the command as
above. HGCIBM always checks to see if it is already installed and
will process the command correctly.
HGCTEST PROGRAM
This program is provided for you to test the operation of
HGCIBM with your computer configuration. Before running HGCTEST,
Load the emulator with the /E[mulate] switch. HGCTEST.BAS runs
under BASICA. Just enter BASICA HGCTEST to run it (assuming
BASICA is on the default drive with HGCTEST). The program is a
simple graphics demo and is self explanatory. If you have a basic
compiler, the demo program can be compiled to test the compiler.
5
SALES AND DISTRIBUTION POLICIES - HGCIBM.COM
There is no limitation on distribution of HGCIBM.COM as long
as no remuneration is accepted in connection with it's
distribution, and as long as it is distributed un-modified and in
it's entirety. You are permitted a 30 day trial period to decide
whether or not you wish to keep HGCIBM or purchase ATHENA.SYS
after which you must either register it with Athena Digital,
destroy it, or pass it along to someone else. The registration
fee for HGCIBM.COM is $9.95 in check or money order.
OEMS and Dealers are encouraged to support ATHENA.SYS with
their products, but may be permitted to distribute HGCIBM with
their materials provided that Athena Digital receives the
registration fee. Those interested should contact Athena Digital
for details.
USER COMMENTS
Let us know what you think. Any criticism is better than
none and will help to steer us along a path which is in the
majority's best interest. Your suggestions need not be limited to
graphics. Any comment regarding Athena Digital programs or
documentation is welcome.
Thank you for your support.
HISTORY
In June of 1986, Athena Digital uploaded a simple "Freeware"
emulator for Hercules cards which supported only the 200 by 640
Color Graphics Card mode (HGCIBM.COM Version 1.11). To our
knowledge, this was the first such program publicly announced. At
first glance there would appear to be no physical way to
effectively display CGA graphics on a ttl card. It not only could
be done, but done in such a way that resulting display quality is
actually better than the real CGA though it is in shades of black
and white. Support came in from users as far as Israel and
eventually from CGA software developers. This support inspired
Athena Digital to create HGCIBM.COM Version 2.00 which offers
emulation support of all of the CGA modes and to start the
development of Athena's own Video BIOS to support not only
emulation, but to provide an upgradeable and expandable Video
BIOS which enhances any display system.
Version 2.01 is no longer offered as freeware. It is not
copy restricted, but it is required that that it be registered if
and only if the copy is kept. If the user determines that he does
not wish to keep HGCIBM, he must pass his copy on to someone
else, or destroy (erase) it. This does not apply to those who
contributed monetarily to HGCIBM Version 1.11. Those individuals
are more than welcome to version 2.01 with no further
contribution.
6
FUTURE
Version 2.01 does not provide all of the Athena Digital
support functions. It is a fully functional emulator only, and
does not offer support for Microsoft Mouse* or extended video
BIOS calls except for a subset of calls 0B0h (SetContext) and
0BFh (AthenaState) as described below. Due to restrictions
imposed by the "resident" utility implementation, the next
release of Athena's BIOS (ATHENA.SYS Version 3.00) will be in the
form of an MS-DOS device driver. Installed in this way, the
program becomes as much a part of the operating system as is the
ROM video BIOS, except that it can be easily upgraded and
enhanced. Future enhancements will be limited to ATHENA.SYS, thus
obseleting HGCIBM.COM except as an emulator only. If bugs are
found in HGCIBM, they will be corrected. For more information
about ATHENA.SYS, read the section called ATHENA.SYS Video BIOS
in this document.
HGCIBM CHANGE AND CORRECTION NOTES
BUGS FIXED
o Version 1.11 would sometimes crash with programs that
intercepted the timer interrupt while in Graphics, and then
changed to text.
o If interrupts were redirected, Version 1 could not find
itself for a mode change and would install a second copy. Now it
can find and control itself unless it is bypassed altogether.
o Version 2.00 (beta test version) would not install on a
Leading Edge due to differences in the way the Leading Edge video
buffers are implemented. This was corrected with the /L[eading
Edge] switch.
ENHANCEMENTS
o Version 2.01 contains a SUBSET of Athena Digital's own
video bios and will support a wider range of compatibles as well
as the AT. This also provided a means for improved screen
behavior in color text mode, and faster screen operations if bios
is used.
o All standard video modes are now supported. The 320 x
200 mode supports two intensities(colors). Color 1 and color 2
will appear identical, where color 3 will be high intensity.
Forty column text is supported but will be displayed on the left
half of the screen only at the same resolution as eighty column
text. All four pages of 80 column text (or 8 pages of 40 column
text) are available on true Hercules cards. Some of the
compatibles will support only one text page at 80 columns, and 2
at 40 columns.
o Version 2.01 provides extended bios calls which
assembly language programs can use to determine if HGCIBM is
present, and what version it is.
7
TECHNICALITIES
HGCIBM installs itself between two BIOS (Basic Input/Output
System) interrupts. The two interrupts used in this way are hex
10 (BIOS video) and hex 8 (timer). The later is used only while
in graphics mode. HGCIBM will fail to function properly if it is
not given control during the above interrupts. Other software
using interrupt 8 be called on a priority basis, preempting
HGCIBM if necessary. HGCIBM version 2.01 no longer passes
interrupt 10h (while in emulation mode) since it was learned that
compatible ROM bios was not always entirely compatible. If you
have other software using interrupt 10h, try loading it after
HGCIBM. You can still control HGCIBM after the interrupt is
changed but you will not be allowed to un-install it. HGCIBM need
be loaded only once each time the computer is started since it
attaches itself to BIOS and stays in memory until re-boot or it
is commanded to un-install. The memory usage has increased to
about 5k now due to bypassing of ROM video bios in emulation
mode, but does provide much improved color text emulation and
should be compatible with a wider variety of machines.
HGCIBM.COM EXTENDED VIDEO FUNCTIONS
This section is provided for those familiar with IBM PC
assembly language. The following calls are made through the
standard video interrupt 10H.
;
(AH)=B0h SetContext - (AL) contains context value
In HGCIBM, these functions simply enable or disable the
emulation modes. As can be seen, most mode numbers mimic those
provided by the standard PC bios. The difference between these
modes and the standard AH=0 call is that the driver behavior
switches are modified before the mode change. A call here for any
of the standard modes will disable the emulator bios and pass
calls to the computer's rom. A call here higher than 7 will
enable the emulation modes. These changes affect the way HGCIBM
interprets calls to the standard bios function 0 as shown below.
These calls cannot be used to overide the hardware setup
determined by HGCIBM during initialization. Calls for invalid
context switches are ignored and the call returns with the carry
flag set:
8
HGCIBM function calls:
TARGET MODE EMULATION TARGET ADAPTER
Standard Modes: (HGCIBM will re-enable ROM bios)
(AL)=0 disabled CGA 40x25 b/w text
(AL)=1 disabled CGA 40x25 Color text
(AL)=2 disabled CGA 80x25 BW text
(AL)=3 disabled CGA 80x25 Color text
(AL)=4 disabled CGA 200x320 Color grph
(AL)=5 disabled CGA 200x320 BW grph
(AL)=6 disabled CGA 200x640 BW grph
(AL)=7 disabled MONO 80x25 BW text
CGA Emulation Modes: (correspond to Standard modes 0 - 6)
(AL)=20 - (AL)=26 enabled HERC page at B800h
Hercules only modes are not supported by HGCIBM.
;
(AH)=BFh AthenaState - Return the current driver state.
(AL) = Current mode (as set in call B0h)
(AH) = Character Columns on screen
(BH) = Current Active Display Page
(DX) = Installed options, switch states
D0 = 1 if mono or hercules card is
installed.
D1 = 1 if cga card is present
D3 = 1 if hercules modes/cga emulation are
allowed.
D4 = 1 if emulation modes are enabled
*HGCIBM supports D0,D1,D3,and D5
only. Others will always be 0.
(CX) = ATHENA/HGCIBM version number
(CH) has major version
(CL) has minor version
* set cx to 0 before calling function BFh,
if 0 is returned, ATHENA.SYS or
HGCIBM.COM (version 2 or higher) are not
installed. If the major version is
greater than or equal to 3, the response
is from ATHENA.SYS. HGCIBM.COM will not
be upgraded past major version 2.00. All
future enhancements will be limited to
ATHENA.SYS or language libraries.
9
HGCIBM function calls:
;
(AH) = 0 SetMode - (AL) contains new mode value
The new mode is set according to the current
switches and the screen is cleared.
STANDARD MODES:
NEW MODE EMULATION FLAG TARGET SCREEN
(AL)=0 disabled CGA 40x25 b/w text
enabled HERC 40x25 emulation
(AL)=1 disabled CGA 40x25 Color text
enabled HERC 40x25 emulation
(AL)=2 disabled CGA 80x25 BW text
enabled HERC 80x25 emulation
(AL)=3 disabled CGA 80x25 Color text
enabled HERC 80x25 emulation
(AL)=4 disabled CGA 200x320 Color grph
enabled HERC 200x320 emulation
(AL)=5 disabled CGA 200x320 BW grph
enabled HERC 200x320 emulation
(AL)=6 disabled CGA 200x640 BW grph
enabled HERC 200x640 emulation
(AL)=7 don't care MONO 80x25 BW text one page
(resets emulation flag and returns to ROM)
10
ATHENA.SYS (T) Version 3.00
Athena Digital Video BIOS for MS-DOS (T) Computers
scheduled release - May 15, 1987
PURPOSE
For some unknown reason, hardware and software vendors have
not seen fit to establish adequate specifications and graphics
support for the widely used Hercules Graphics standard. The most
peculiar aspect of this is the fact that the Hercules standard
was the third available for the IBM personal computer and the
first which offered truly high graphics resolution as well as the
first to support graphics on the ttl monochrome display. Today,
this standard is almost universally accepted as the display
adapter of choice for ttl monochrome PC systems and its display
quality is yet challenged only by the expensive EGA standard
which also requires an expensive color monitor to exploit it's
capabilities. Even then, the EGA provides a lower horizontal
resolution (640 horizontal, rather than 720). Athena Digital will
attempt to remedy this by making it as simple as possible for
vendors to exploit the capabilities of the Hercules card by
providing a BIOS which fully supports the Hercules monochrome
card and/or Color Graphics Card (and eventually others) with fast
support for standard modes, CGA emulation, and several new modes.
One of the primary enhancements provided by ATHENA BIOS is
emulation of the Color Graphics Adapter on the Hercules Graphics
Card. This allows Hercules owners to run the majority of graphics
programs which do not already support the hercules adapter. This
includes programs like BASICA and programs running under the
BASIC compiler, as well as increasingly popular programs like
QUICKBASIC. This eliminates the need for a Color monitor and
graphics card in many cases with obvious price advantages.
ATHENA also provides bios support for the higher resolution
Hercules 350 vertical by 720 horizontal modes, and a new 350
vertical by 360 mode with three intensities and 4 logical pixel
colors. ATHENA provides ALL of the Standard BIOS call support for
these new modes including character generation and scrolling,
which greatly simplifies direct support of hercules high
resolution modes by software vendors and makes it universally
possible for applications developers to determine the computer's
video hardware capabilities and behave accordingly.
ATHENA FEATURES
o Supports 5 new Hercules only modes, which are as
readily available to applications developers as are the
standard modes.
o Provides extended equipment, system capability information
for applications.
11
o Supports Color Graphics Adapter Programs on the Hercules
Graphics Card, and includes algorithms to support Microsoft
Mouse sofware and prevent many of the "hangups" experienced
with earlier software emulators.
o Supports high speed ANSI console escape sequences.
o Supports new "context switching" between adapters and
certain modes.
o Supports faster video operation in ALL modes than Standard
ROM BIOS.
o Simple replacement for "buggy compatible" BIOS.
o Installs as a device driver for MS-DOS version 2.00 or later
o Adds PC-AT BIOS print string functions to the PC
Once installed, ATHENA replaces the standard MS-DOS "CON"
device driver and ROM video bios unless an EGA card is present.
By integrating BIOS with DOS, faster DOS screen output is
possible. Installation is a matter of copying ATHENA.SYS to your
boot disk, and inserting a one line command in your MS-DOS
config.sys file. This MUST be the FIRST "DEVICE =" command in the
file and has the following basic form:
DEVICE = ATHENA.SYS
ATHENA.SYS is compatible with a variety of MS-DOS computers,
including the PC, PC-AT, and Leading Edge. Our aim is to work
with as many different computers and display adapters as
possible, so enhancements can be expected periodically.
Version 3.00 video bios does not support EGA so it aborts
installation if the EGA is detected. Future products will likely
support the EGA for uniformity but EGA graphics are supported in
EGA bios, and there is no apparent need to extend it at this
time. The EGA hardware standard also conflicts directly with the
Hercules standard. Our present purpose is to provide support for
the multitude of Hercules and/or CGA systems.
12
CONTROLLING ATHENA BIOS AFTER INSTALLATION
Along with ATHENA.SYS, you are provided ATHENA.EXE which
allows you keyboard control over ATHENA's variety of modes.
ATHENA.EXE operates as any other external DOS command. Simply
place it in your program directory and use it with switches as
below. If you forget the switches, just type ATHENA and it will
give you a help screen.
ATHENA /M[ono] - Places BIOS in MONO mode (emulation disabled)
ATHENA /C[ga] - Places BIOS in CGA mode (emulation disabled)
ATHENA /E[mulate] - Places BIOS in CGA EMULATION mode.
ATHENA /? - Gives a report of ATHENA's status.
ATHENA /Q[uiet] - ADD this switch to others to suppress messages
These commands may be issued from a batch file if desired.
SALES AND DISTRIBUTION POLICIES - ATHENA.SYS
ATHENA.SYS is a fully restricted program, and will soon be
offered for sale by mail order, through OEMS, and dealers.
Illegal distribution of this program is punishable in the same
manner as any other copyrighted work (if someone has provided you
a copy of ATHENA.SYS you must destroy it immediately). For the
purchase price of $34.95, you will receive the program on a 5.25"
IBM format diskette with documentation sheets, and be notified of
upgrades at low cost as they become available.
Dealers, OEMS, and those desiring Site Licenses are welcome and
encouraged to contact Athena Digital about liberal discounts.
UPGRADING FROM HGCIBM
If you have already registered HGCIBM and wish to upgrade to
ATHENA, you may do so at a reduced rate for a limited time.
To order the upgrade, send your registration name and
address along with 29.95 in a check or money order (normally
34.95).
SOFTWARE AUTHORS
You do not have to distribute ATHENA to support it, Athena
Digital for one will make the program infinitely available to
users. If you do decide to enhance your product specifications by
supporting the emulation modes (your product probably already
does) or the extended modes, simply send us your company name,
your product(s) name, your name, your address, and your telephone
number. From time to time, Athena Digital will upload a
"supporting product listing", and will keep you informed of
updates and enhancements. If you would like to mention your
support in your product specifications, you are encouraged to do
so provided you include the trademark notice as in the example
below.
13
<program name> supports the Hercules emulation modes of
ATHENA.SYS (T) Video Bios.
<bottom or top of page>
ATHENA.SYS is a registered trademark of Athena Digital
ATHENA.SYS FUNCTION CALLS
This information is provided for technical users, and
presumes familiarity with Standard BIOS function calls.
; *****
(AH)=B0h SetContext - (AL) contains context value
These functions first change the current state switches to
that indicated below and then switch to the requested context. As
can be seen, most mode numbers mimic those provided by the
Standard PC BIOS.
The difference between these modes and the standard AH=0
call is that the driver behavior switches are modified before the
mode change and the concept of contexts is introduced for each
mode. For instance, if the driver were currently set to
acknowledge an active CGA card, but it is desired to switch the
active display to emulation CGA or one of the Hercules only
modes, a call here for the desired mode would freeze the CGA
screen and switch contexts to the requested screen.
If the target of the switch is the same as it was when it
was last active the target screen is not cleared. If a target
mode change is required then the target screen is cleared. In
either case, the context switches to the new active screen.
Context switches also affect the way ATHENA interprets calls to
the standard bios function 0 as shown below. These calls cannot
be used to overide the hardware setup determined by ATHENA during
initialization. Calls for invalid context switches are ignored
and the call returns with the carry flag set:
14
ATHENA.SYS function calls:
To force Athena to clear the target screen, set D7 in
register AL (or the mode value with 80H).
;
TARGET MODE EMULATION TARGET SCREEN
Standard Modes
(AL)=0 deactivated CGA 40x25 b/w text
(AL)=1 deactivated CGA 40x25 Color text
(AL)=2 deactivated CGA 80x25 BW text
(AL)=3 deactivated CGA 80x25 Color text
(AL)=4 deactivated CGA 200x320 Color grph
(AL)=5 deactivated CGA 200x320 BW grph
(AL)=6 deactivated CGA 200x640 BW grph
(AL)=7 deactivated MONO 80x25 BW text
Hercules only modes
CGA Emulation Modes: (correspond to Standard modes 0 - 6)
(AL)=20
. activated HERC page at B800h
.
(AL)=26
Hercules Text Mode: (supports 8 pages)
(AL)=27 activated HERC 80x25 BW text
Herc Modes:
(AL)=28 no change HERC 350x720 at B000
(AL)=29 no change HERC 350x720 at B800
(AL)=30 no change HERC 350x360 at B000*
(AL)=31 no change HERC 350x360 at B800*
*modes 18 and 19 support low and high intensity
Certain mode changes are not possible without erasure of a
previous context and screen. The following HERCULES context
changes can be accomplished without erasure of a previous context.
(Emulation modes 24 - 26) and (modes 7,27,28 or 30):
These two groups use separate Hercules pages and do not
destroy each other. Changes made within each group are
destructive to other modes in the same group.
(modes 28 and 30) and (modes 29 and 31):
Context is retained when switching between groups, but lost
when switching between modes within the same group.
Emulation modes 20 - 23 destroy the context of all other
Hercules modes because they use both adapter pages.
15
ATHENA.SYS function calls:
(modes 0 - 6) and all others:
Context is retained when switching adapters.
; *****
(AH)=BFh AthenaState - Return the current driver state.
OUTPUT:
(AL) = Current mode (as in call B0h)
(AH) = Character Columns on screen
(BH) = Current Active Display Page
(DX) = Installed options, switch states
D0 = 1 if mono or hercules card is installed
D1 = 1 if cga card is installed
D2 = reserved
D3 = 1 if hercules modes/cga emulation are allowed
D4 = 1 if emulation modes are activated
D5 = 1 if ansi console codes are enabled
D6 = 1 if it is necessary to wait for
horizontal retrace before CGA text
screen updates. This bit is reset by
default when ATHENA initializes. If the
/W(ait) option switch is used on the
installation command line, this bit
will be set to cause ATHENA to wait for
retrace when updating CGA text. This
switch has no effect on Hercules or
Mono modes.
Application software should never
try to wait in Hercules modes since the
CGA registers may not even exist and
the Hercules standard does not require
it.
(CX) = ATHENA/HGCIBM version number
(CH) has major version
(CL) has minor version
* set cx to 0 before calling function BFh, if 0 is returned,
ATHENA.SYS or HGCIBM.COM is not installed. If the major version is
greater than or equal to 3, the response is from ATHENA.SYS.
HGCIBM.COM will not be upgraded past major version 2. All
future enhancements will be limited to ATHENA.SYS or language
libraries.
16
; *****
(AH) = 0 SetMode - (AL) contains new mode value
The new mode is set according to the current
switches and the screen is cleared.
STANDARD MODES:
NEW MODE EMULATION FLAG TARGET SCREEN
(AL)=0 deactivated CGA 40x25 b/w text
activated HERC 40x25 emulation
(AL)=1 deactivated CGA 40x25 Color text
activated HERC 40x25 emulation
(AL)=2 deactivated CGA 80x25 BW text
activated HERC 80x25 emulation
(AL)=3 deactivated CGA 80x25 Color text
activated HERC 80x25 emulation
(AL)=4 deactivated CGA 200x320 Color grph
activated HERC 200x320 emulation
(AL)=5 deactivated CGA 200x320 BW grph
activated HERC 200x320 emulation
(AL)=6 deactivated CGA 200x640 BW grph
activated HERC 200x640 emulation
(AL)=7 don't care MONO 80x25 BW text one page
HERC MODES: If Hercules modes are not allowed, these calls
are ignored.
(AL)=27 HERC page at B000h
Herc mono mode (supports 8 text pages)
Herc Modes:
(AL)=28 HERC 350x720 at B000
(AL)=29 HERC 350x720 at B800
(AL)=30 HERC 350x360 at B000*
(AL)=31 HERC 350x360 at B800*
*modes 30 and 31 support low and high intensity
ATHENA.SYS Version 3.00 provides the standard bios support
functions for all of the listed modes.
17
ATHENA LIBRARY VERSIONS
These are introduced in the accompanying QBDEMO program.
The demo is a short first-hand introduction to ATHENA.SYS and
Athena Language Libraries for programmers. There are 2 files
required to run the demo:
QBDEMOC.EXE ; QuickBasic library DEMO - BCOM20 program module
FEATURES.PRX ; DEMO text
o To run the demo, place these two files in your default
directory and type "QBDEMOC".
o If you have an older style Color Graphics Adapter which
"snows" when text is printed, then start the demo as
"QBDEMOC/W".
o If you have a Hercules Card AND a Hercules CGA card AND
both are attached to monitors, then start the demo as
"QBDEMOC/H".
o If you have a Leading Edge, no switches are required.
o You may use both "/H" AND "/W" on the same command line.
o It makes no difference whether HGCIBM is installed or
not to run the demo, since ATHENA BIOS is linked with the
demo and will be used in either case.
18
----------------end-of-author's-documentation---------------
Software Library Information:
This disk copy provided as a service of
The Public (Software) Library
Disks in the library are updated monthly.
For a copy of the latest monthly software library newsletter
and a list of the 800+ disks in the library, call or write
The Public (Software) Library
P.O.Box 35705 K
Houston, TX 77235-5705
(713) 721-6104
We are not the authors of this program, nor are we associated
with the author in any way other than as a distributor of the
program in accordance with the author's terms of distribution.
Please direct shareware payments and specific questions about
this program to the author of the program, whose name appears
elsewhere in this documentation. If you have trouble getting
in touch with the author, we will do whatever we can to help
you with your questions. All programs have been tested and do
run. To report problems, please use the form that is in the
file PROBLEM.DOC on many of our disks or in other written for-
mat with screen printouts, if possible.